1269C - Long Beautiful Integer - CodeForces Solution


greedy implementation *1700

Please click on ads to support us..

Python Code:

import sys
'''
'''


def run(x, k):
    n = len(x) % k
    m = len(x)//k
    x1 = x
    if n != 0:
        m += 1
        x1 = x+x[n:k]
    rt = []
    for i in range(0, len(x1), k):
        rt.append(x1[i:i+k])
    for i in range(1, len(rt)):
        if rt[0] < rt[i]:
            rt[0] = str(int(rt[0])+1)
            break
        if rt[0] > rt[i]:
            break
    return (rt[0]*m)[:len(x)]


if sys.argv[-1] == 't':
    cases = [
        ['353', 2, '353'],
        ['1234', 2, '1313'],
        ['1234', 3, '1241'],
        ['1214', 2, '1313'],
        ['1204', 2, '1212'],
        ['121256', 2, '131313'],
        ['121056', 2, '121212'],
        ['121210', 2, '121212'],
        ['12345', 2, '13131'],
        ['12345', 3, '12412'],
        ['12945', 3, '13013'],
    ]
    for case in cases:
        r = run(*case[:-1])
        if r != case[-1]:
            print(case, r)
else:
    b, k = input().split(" ")
    print(b)
    print(run(input(), int(k)))

		 	          			 			 	  		 			


Comments

Submit
0 Comments
More Questions

1455B - Jumps
1225C - p-binary
1525D - Armchairs
1257A - Two Rival Students
1415A - Prison Break
1271A - Suits
259B - Little Elephant and Magic Square
1389A - LCM Problem
778A - String Game
1382A - Common Subsequence
1512D - Corrupted Array
667B - Coat of Anticubism
284B - Cows and Poker Game
1666D - Deletive Editing
1433D - Districts Connection
2B - The least round way
1324A - Yet Another Tetris Problem
246B - Increase and Decrease
22E - Scheme
1566A - Median Maximization
1278A - Shuffle Hashing
1666F - Fancy Stack
1354A - Alarm Clock
1543B - Customising the Track
1337A - Ichihime and Triangle
1366A - Shovels and Swords
919A - Supermarket
630C - Lucky Numbers
1208B - Uniqueness
1384A - Common Prefixes